package proteus.servlets;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import proteus.excepcion.DAOExcepcion;
import proteus.modelo.Alquiler;
import proteus.modelo.HorarioXCancha;
import proteus.modelo.Local;
import proteus.negocio.AlquilerNegocio;
import proteus.negocio.CanchaNegocio;
import proteus.negocio.LocalNegocio;
import proteus.util.Funciones;

/**
 * Servlet implementation class ListarAlquilerServlet
 */
@WebServlet("/ListarAlquilerServlet")
public class ListarAlquilerServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ListarAlquilerServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		LocalNegocio neg = new LocalNegocio();

		try {
			Collection<Local> encontrados = neg.listarLocales();	
			
			// Guardando datos en el scope SESSION
			HttpSession session = request.getSession();
			session.setAttribute("LOCALES", encontrados);
			System.out.println(encontrados);
			request.setAttribute("REQDISTRITO", "- Seleccione -");
			request.setAttribute("REQfechaini", Funciones.fechaActualInicial());
			request.setAttribute("REQfechafin", Funciones.fechaActualInicial());
		
		} 
		catch (DAOExcepcion e) { 
		request.setAttribute(
		"MSG_ERROR", e.getMessage()); 
		}  
			RequestDispatcher rd = request.getRequestDispatcher("listarAlquiler.jsp");
			// Forward llama al jsp	
			rd.forward(request, response);		
		
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		
        AlquilerNegocio neg = new AlquilerNegocio();
		
		String txtLocal = request.getParameter("txtLocal");
		String txtfechaini = request.getParameter("txtfechaini");
		String txtfechafin = request.getParameter("txtfechafin");
		
		/*  la funcion modifica las fechas a formato aaaa-mm-dd. Pruebalas*/
		String txtfechaIni = Funciones.cambiaFormatoFecha(txtfechaini);
		String txtfechaFin = Funciones.cambiaFormatoFecha(txtfechafin);						

		
		try {
			Collection<Alquiler> encontrados = neg.buscarAlquiler(txtLocal, txtfechaIni, txtfechaFin);
			request.setAttribute("ALQUILERES", encontrados);
		} catch (DAOExcepcion e) {
			// TODO Auto-generated catch block
			request.setAttribute("MSG_ERROR", e.getMessage()); 
		}  
            request.setAttribute("REQDISTRITO", txtLocal);
            request.setAttribute("REQfechaini", txtfechaini); 
            request.setAttribute("REQfechafin", txtfechafin); 
   
           RequestDispatcher rd = request.getRequestDispatcher("listarAlquiler.jsp");
	
           	rd.forward(request, response);		
		}
		
		
		
		
		
	}


